<?php

class Login {

    private $usuario = null;
    private $senha = null;
    private $isLogado = false;
    private $idUsuario = null;

    function __construct() {
        
    }

    public function getUsuario() {
        return $this->usuario;
    }

    public function setUsuario($usuario) {
        $this->usuario = $usuario;
    }

    public function setSenha($senha) {
        $this->senha = sha1($senha);
    }
    
    
    public function getSenha() {
        return $this->senha;
    }
    
    

    public function IsLogado() {
        try {
            if((strlen($_COOKIE['usuario_login']) >= 3)&&(strlen($_COOKIE['usuario_senha']) > 5)){
                $this->usuario = ($_COOKIE['usuario_login']);
                $this->senha = ($_COOKIE['usuario_senha']);
                return $this->autenticar();
            }
        } catch (Exception $e) {
            return "Falha: , " . $e->getMessage() . ", \n";
        }
    }

    public function login() {
        return $this->autenticar();
    }

    public function logout() {
        $this->isLogado = false;
    }

    private function autenticar() {
        try {
            include_once 'BaseDados.php';
            $db = new BaseDados("consulta");
            $objDb = $db->getObjDb();
            $stmt = $objDb->stmt_init();
            if ($stmt->prepare("SELECT
                            `Usuarios`.`Nome`,
                            `Usuarios`.`Senha`,
                            `Usuarios`.`idUsuarios`
                        FROM `dceufg_documento`.`Usuarios`
                        WHERE 
                            `Usuarios`.`Nome` LIKE ?
                            AND `Usuarios`.`Senha` LIKE ?")) {
                $stmt->bind_param('ss', $this->usuario, $this->senha);
                $stmt->execute();
                $stmt->bind_result($nome, $senha, $id);
                $stmt->fetch();
                $stmt->close();
                $this->idUsuario = $id;
                if ($this->usuario == $nome && $this->senha == $senha) {
                    $this->isLogado = true;
                    return true;
                } else {
                    $this->logout();
                    return false;
                }
            }
        } catch (Exception $e) {
            return "Falha: , " . $e->getMessage() . ", \n";
        }
    }
}
?>

